#ifndef __ADC_H
#define __ADC_H
 
#include "main.h"             // Device header
 
 
/******************************************************************************************/
/* ADC及引脚 定义 */
 
#define ADC_ADCX_CHY_GPIO_PORT              GPIOA
#define ADC_ADCX_CHY_GPIO_PIN               GPIO_PIN_1 
#define ADC_ADCX_CHY_GPIO_CLK_ENABLE()      do{ __HAL_RCC_GPIOA_CLK_ENABLE(); }while(0)  /* PA口时钟使能 */
 
#define ADC_ADCX                            ADC1 
#define ADC_ADCX_CHY                        ADC_CHANNEL_1                                /* 通道Y,  0 <= Y <= 17 */ 
#define ADC_ADCX_CHY_CLK_ENABLE()           do{ __HAL_RCC_ADC1_CLK_ENABLE(); }while(0)   /* ADC1 时钟使能 */
 
/******************************************************************************************/
 
typedef struct{
	float mq2_value;
	float mq5_value;
}MQ;

void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); /* ADC通道设置 */
uint32_t adc_get_result(ADC_HandleTypeDef g_adc_handle,uint32_t ch);                              /* 获得某个通道值  */
uint32_t adc_get_result_average(ADC_HandleTypeDef g_adc_handle, uint32_t ch, uint8_t times);        /* 得到某个通道给定次数采样的平均值 */
MQ get_mq(void);

#endif 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 